Azure Firewall/Script - IP Groups terraform implementation/modules/azure_create_firewall_objects/main.tf (28 lines of code) (raw):

locals { firewall_config = jsondecode(file("${var.input_filename}")) } module "create_ip_groups" { for_each = { for deployment in local.firewall_config.deployments : deployment.name => deployment } source = "../azure_create_multiple_ip_groups_from_csv" ip_group_definitions = each.value.ip_groups resource_group_name = each.value.resource_group_name resource_group_location = each.value.resource_group_location } module "deploy_network_rules" { for_each = { for deployment in local.firewall_config.deployments : deployment.name => deployment if deployment.mode == "classic" } source = "../azure_firewall_create_rule_collection_groups" firewall_config = each.value ip_group_name_id_map = module.create_ip_groups[each.value.name].ip_group_name_id_map depends_on = [ module.create_ip_groups ] } module "deploy_policies" { for_each = { for deployment in local.firewall_config.deployments : deployment.name => deployment if deployment.mode == "policy" } source = "../azure_firewall_create_or_update_policy" firewall_config = each.value ip_group_name_id_map = module.create_ip_groups[each.value.name].ip_group_name_id_map depends_on = [ module.create_ip_groups ] }